﻿#define _CRT_SECURE_NO_WARNINGS

白纸编程 Day_1 程序与输入

计算机最早的出现是为了帮人们解决一些计算量巨大的任务，比如计算导弹的轨迹，原子弹的爆炸范围，火箭的速度等等特定目的。
最早的计算机，一种计算机只能处理一种特定任务，随着时代的发展，一个能处理多种不同的任务的计算机开始出现，这就是通用计算机，比如这里的第一台通用计算机ENIAC。


编程语言就是为了给计算机“布置各种各样的任务”而诞生的，比如程序A让计算机计算导弹的轨迹，程序B让计算机计算股票的交易价格等等。
编程语言从最开始的二进制0101发展到C语言的时候，正式进入了高级程序语言的时代，所谓的“高级”，是相对于计算机底层二进制机器语言而言，更接近于人类能理解的自然语言。


编程语言有两个重点，第一个是语法，就是代码的具体写法，由于计算机很死板，它无法像人类一样理解模糊的指令，
所以代码里面一个标点出错，都会导致程序的错误（俗称bug）。我们需要严格按照代码语法来写程序。

1.printf

printf("Hello World!\n");  

1.  printf    输出字符文本的“指令”名字;

2.  ()        一对括号()，C语言的语法格式，每个特殊的“指令”都需要带一个括号;

3.  ""         一对双引号""，C语言的语法格式，引号内是要输出的内容;

4. 特殊符号    这就是要输出的具体字符内容了，\n代表着换行，我们默认每行字符都需要带这个特殊字符;

5.  一个分号;   代表一行代码的结束;

注意;

1.这里的printf是一个“指令”名，print是打印的意思，f是format缩写，所以这个指令的名字又叫“格式化输出”。

2.同时我们也可以看到有一些固定的符号，如括号()，引号""，这些都属于C语言的语法格式部分，需要大家记住，当然，多练习一下自然就记住了😁。

3.你一定发现了，这些代码中的标点符号，都需要我们使用英文符号，我们刚开始写代码的时候，很容易写成中文符号😭~

我们可以通过直接替换字符串的内容，来输出不一样的字符，比如我们现在输出Byebye World!

printf("Byebye World!\n");

换行符

printf("Hello World!");
printf("Byebye World!");

输出；Hello World!Byebye World!       我们看到这并不是两行代码，而是这两句话，连在一起成为一行了。

这时候我们就要介绍一个换行符\n，它的作用就是换一行，俗称提行，如果我们不在代码里写这个换行符的话，就会导致上面的情况。

printf("Hello World!\n");
printf("Byebye World!\n");

输出：
Hello World!
Byebye World!

刚才我们学会了第一行C语言代码的具体写法，也就是编程语言的语法。

如果我们想要在C语言程序中运行这行代码，我们还需要一个整体的C语言程序的框架。

2.代码的框架

#include <stdio.h>                       C语言的头文件，表明我们要写的这个程序需要包括（include）这个头文件
int main()                                       main“指令”，所有的C语言的入口都是这里
{                                                        花括号，花括号以内的空白区域就是我们自由发挥写代码的地方                   
    printf("Hello World!\n");                                       printf"指令"，执行打印输出到屏幕的功能

}             
 
这是一个固定的，C语言运行的代码框架，我们需要实现的所有代码功能，都需要放在这里面实现。
#include <stdio.h>
int main() {


}

#include <stdio.h>是C语言需要引入的头文件，也就是说我们这个程序需要用到这个文件里面的一些功能，具体来说就是printf()功能来自这个文件。

比如完整的写我们第一个C语言程序

#include <stdio.h>
int main() {
    printf("Hello World!\n");
}


除了代码正文，我们还可以使用一种叫做注释的东西，它以//开头，后面跟一些具体的文本内容。它不会被程序执行，是用来帮助写代码的人备注的。

// printf("Hello World!\n");  表示不会被执行

3.输入与输出

输入；我们在计算机上输入一些字符，用绘图板给计算机绘制一些图形。
这些计算机收到的来自“外界”的数据传递，都叫做输入。

输出：我们通过编程让计算机在屏幕上显示一张图，一行字。
这些计算机对“外界”的数据传递，都叫做输出。

eg: 输出一行英文字符"Hello World!"
printf("Hello World!\n");

eg:再来输出一行中文字符“你好 世界！”
printf("你好 世界！\n");

诶，到这里是不是有点迷糊，不是说全部要用英文么？为什么这里又要用中文？
这是因为，编程语言的语法格式符号，必须使用英文符号，比如今天用到的括号()，引号""，花括号{}；
而一些我们需要自定义的内容，就可以使用中文，比如这里的一行字符串；以及可以注释，我们也可以使用中文。

注意：
反斜杠 " \ " + " n " 才是换行符\n；

斜杠 " / " 在C语言中是除号。

而两个斜杠 // 代表注释。



8.11 白纸编程 Day_13 for 循环

我们定义了一个数组以后，要使用（读取或者修改）数组元素的话，可以一个一个的读取，就前两课学的那样，代码类似这个结构。

int number_list[5] = { 0,1,2,3,4,5 };
printf("%d\n", mumber_list[0]);
printf("%d\n", number_list[1]);
printf("%d\n", number_list[2]);
printf("%d\n", number_list[3]);
printf